package com.fast.fast.common.satoken.config;

import cn.dev33.satoken.config.SaTokenConfig;
import lombok.Data;
import org.springframework.boot.context.properties.ConfigurationProperties;

import java.util.List;

/**
 * Sa-Token配置文件
 *
 * @author lyf
 * @date 2022/01/01 00:00 周六
 **/
@Data
@ConfigurationProperties(prefix = "sa-token")
public class SaTokenProperties extends SaTokenConfig {

    private final RolesUrls rolesUrls = new RolesUrls();

    private final PermsUrls permsUrls = new PermsUrls();

    /**
     * 权限认证--拥有角色编码集合之一就能访问url集合。
     * 通过自己实现StpInterface接口的getRoleList方法获取角色编码集合
     */
    @Data
    public static class RolesUrls {

        /**
         * 角色编码集合
         */
        private List<String> roles;

        /**
         * url集合
         */
        private List<String> urls;

    }

    /**
     * 权限认证--拥有某权限编码才能访问url集合。
     * 通过自己实现StpInterface接口的getPermissionList方法获取权限编码集合
     */
    @Data
    public static class PermsUrls {

        /**
         * 权限编码
         */
        private String perm;

        /**
         * url集合
         */
        private List<String> urls;

    }
}
